package org.heart.thirdService.AIServiceAPI.service;

import dev.langchain4j.service.SystemMessage;
import dev.langchain4j.service.TokenStream;
import dev.langchain4j.service.UserMessage;
import dev.langchain4j.service.V;

public interface AisServices {

    /**
     * 使用注解 增强功能
     *
     * @SystemMessage 系统提示
     */
    @SystemMessage("你是一个高考720分，长相出众的女同学")
    String chat1(String userMessage);
    /**
     * 根据天气情况，获取温馨提醒
     */
    @SystemMessage("你是专注天气情况的正能量文案专家")
    @UserMessage("针对{{weather}}天气生成一条温馨提醒，要求："
            + "1. 10-15字，开头2个精准emoji\n"
            + "2. 前半描述天气，后半传递温暖\n"
            + "3. 用自然比喻（如'雨滴是天空的私语'）\n"
            + "4. 示例：\\uD83C\\uDF1E\\uD83C\\uDF08 晨光温柔洒落，让每个脚步都踏着希望的节奏")
    public String getWarmReminder(@V("weather") String weatherType);

    /**
     * 获取今日温馨一言
     */
    @SystemMessage("你是专注天气情感的正能量文案专家")
    @UserMessage("针对{{weather}}天气生成一条温馨短句，要求："
            + "1. 20-30字，开头2个精准emoji\n"
            + "2. 前半描述天气，后半传递温暖\n"
            + "3. 用自然比喻（如'雨滴是天空的私语'）\n"
            + "4. 示例：\\uD83C\\uDF1E\\uD83C\\uDF08 晨光温柔洒落，让每个脚步都踏着希望的节奏")
    public String getAWarmWord(@V("weather") String weatherType);

    /**
     * 获取基于天气类型的健康建议
     * @return 带Emoji的20-30字健康建议字符串
     */
    @SystemMessage("你是健康气象专家")
    @UserMessage("生成针对{{weather}}天气的单条健康建议（20-30字，开头2个emoji），格式：「现象+建议+提醒」，示例：\"☀️🔥 高温持续，午后避免外出，老人儿童注意补水\"")
    public String getHealthAdvice(@V("weather") String weatherType);

    TokenStream chat11(String userMessage);
}
